home *** CD-ROM | disk | FTP | other *** search
Text File | 2001-09-26 | 62.0 KB | 1,306 lines |
- *quickref.txt* For Vim version 6.0. Last change: 2001 Sep 10
-
-
- VIM REFERENCE MANUAL by Bram Moolenaar
-
- Quick reference guide
-
- *quickref* *Contents*
- tag subject tag subject ~
- |Q_ct| list of help files |Q_re| Repeating commands
- |Q_lr| motion: Left-right |Q_km| Key mapping
- |Q_ud| motion: Up-down |Q_ab| Abbreviations
- |Q_tm| motion: Text object |Q_op| Options
- |Q_pa| motion: Pattern searches |Q_ur| Undo/Redo commands
- |Q_ma| motion: Marks |Q_et| External commands
- |Q_vm| motion: Various |Q_qf| Quickfix commands
- |Q_ta| motion: Using tags |Q_vc| Various commands
- |Q_sc| Scrolling |Q_ce| Ex: Command-line editing
- |Q_in| insert: Inserting text |Q_ra| Ex: Ranges
- |Q_ai| insert: Keys |Q_ex| Ex: Special characters
- |Q_ss| insert: Special keys |Q_ed| Editing a file
- |Q_di| insert: Digraphs |Q_fl| Using the argument list
- |Q_si| insert: Special inserts |Q_wq| Writing and quitting
- |Q_de| change: Deleting text |Q_st| Starting VIM
- |Q_cm| change: Copying and moving |Q_ac| Automatic commands
- |Q_ch| change: Changing text |Q_wi| Multi-window commands
- |Q_co| change: Complex |Q_bu| Buffer list commands
- |Q_vi| Visual mode |Q_sy| Syntax highlighting
- |Q_to| Text objects |Q_gu| GUI commands
- |Q_fo| Folding
-
- ------------------------------------------------------------------------------
- N is used to indicate an optional count that can be given before the command.
- ------------------------------------------------------------------------------
- *Q_lr* Left-right motions
-
- |h| N h left (also: CTRL-H, <BS>, or <Left> key)
- |l| N l right (also: <Space> or <Right> key)
- |0| 0 to first character in the line (also: <Home> key)
- |^| ^ to first non-blank character in the line
- |$| N $ to the last character in the line (N-1 lines lower)
- (also: <End> key)
- |g0| N g0 to first character in screen line (differs from "0"
- when lines wrap)
- |g^| N g^ to first non-blank character in screen line (differs
- from "^" when lines wrap)
- |g$| N g$ to last character in screen line (differs from "$"
- when lines wrap)
- |gm| N gm to middle of the screen line
- |bar| N | to column N (default: 1)
- |f| N f{char} to the Nth occurrence of {char} to the right
- |F| N F{char} to the Nth occurrence of {char} to the left
- |t| N t{char} till before the Nth occurrence of {char} to the right
- |T| N T{char} till before the Nth occurrence of {char} to the left
- |;| N ; repeat the last "f", "F", "t", or "T" N times
- |,| N , repeat the last "f", "F", "t", or "T" N times in
- opposite direction
- ------------------------------------------------------------------------------
- *Q_ud* Up-down motions
-
- |k| N k up N lines (also: CTRL-P and <Up>)
- |j| N j down N lines (also: CTRL-J, CTRL-N, <NL>, and <Down>)
- |-| N - up N lines, on the first non-blank character
- |+| N + down N lines, on the first non-blank character (also:
- CTRL-M and <CR>)
- |_| N _ down N-1 lines, on the first non-blank character
- |G| N G goto line N (default: last line), on the first
- non-blank character
- |gg| N gg goto line N (default: first line), on the first
- non-blank character
- |N%| N % goto line N percentage down in the file. N must be
- given, otherwise it is the |%| command.
- |gk| N gk up N screen lines (differs from "k" when line wraps)
- |gj| N gj down N screen lines (differs from "j" when line wraps)
- ------------------------------------------------------------------------------
- *Q_tm* Text object motions
-
- |w| N w N words forward
- |W| N W N blank-separated |WORD|s forward
- |e| N e forward to the end of the Nth word
- |E| N E forward to the end of the Nth blank-separated |WORD|
- |b| N b N words backward
- |B| N B N blank-separated |WORD|s backward
- |ge| N ge backward to the end of the Nth word
- |gE| N gE backward to the end of the Nth blank-separated |WORD|
-
- |)| N ) N sentences forward
- |(| N ( N sentences backward
- |}| N } N paragraphs forward
- |{| N { N paragraphs backward
- |]]| N ]] N sections forward, at start of section
- |[[| N [[ N sections backward, at start of section
- |][| N ][ N sections forward, at end of section
- |[]| N [] N sections backward, at end of section
- |[(| N [( N times back to unclosed '('
- |[{| N [{ N times back to unclosed '{'
- |[m| N [m N times back to start of method (for Java)
- |[M| N [M N times back to end of method (for Java)
- |])| N ]) N times forward to unclosed ')'
- |]}| N ]} N times forward to unclosed '}'
- |]m| N ]m N times forward to start of method (for Java)
- |]M| N ]M N times forward to end of method (for Java)
- |[#| N [# N times back to unclosed "#if" or "#else"
- |]#| N ]# N times forward to unclosed "#else" or "#endif"
- |[star| N [* N times back to start of comment "/*"
- |]star| N ]* N times forward to end of comment "*/"
- ------------------------------------------------------------------------------
- *Q_pa* Pattern searches
-
- |/| N /{pattern}[/[offset]]<CR>
- search forward for the Nth occurrence of {pattern}
- |?| N ?{pattern}[?[offset]]<CR>
- search backward for the Nth occurrence of {pattern}
- |/<CR>| N /<CR> repeat last search, in the forward direction
- |?<CR>| N ?<CR> repeat last search, in the backward direction
- |n| N n repeat last search
- |N| N N repeat last search, in opposite direction
- |star| N * search forward for the identifier under the cursor
- |#| N # search backward for the identifier under the cursor
- |gstar| N g* like "*", but also find partial matches
- |g#| N g# like "#", but also find partial matches
- |gd| gd goto local declaration of identifier under the cursor
- |gD| gD goto global declaration of identifier under the cursor
-
- |pattern| Special characters in search patterns
-
- meaning magic nomagic ~
- matches any single character . \.
- matches start of line ^ ^
- matches <EOL> $ $
- matches start of word \< \<
- matches end of word \> \>
- matches a single char from the range [a-z] \[a-z]
- matches a single char not in the range [^a-z] \[^a-z]
- matches an identifier char \i \i
- idem but excluding digits \I \I
- matches a keyword character \k \k
- idem but excluding digits \K \K
- matches a file name character \f \f
- idem but excluding digits \F \F
- matches a printable character \p \p
- idem but excluding digits \P \P
- matches a white space character \s \s
- matches a non-white space character \S \S
-
- matches <Esc> \e \e
- matches <Tab> \t \t
- matches <CR> \r \r
- matches <BS> \b \b
-
- matches 0 or more of the preceding atom * \*
- matches 1 or more of the preceding atom \+ \+
- matches 0 or 1 of the preceding atom \= \=
- matches 2 to 5 of the preceding atom \{2,5} \{2,5}
- separates two alternatives \| \|
- group a pattern into an atom \(\) \(\)
-
- |search-offset| Offsets allowed after search command
-
- [num] [num] lines downwards, in column 1
- +[num] [num] lines downwards, in column 1
- -[num] [num] lines upwards, in column 1
- e[+num] [num] characters to the right of the end of the match
- e[-num] [num] characters to the left of the end of the match
- s[+num] [num] characters to the right of the start of the match
- s[-num] [num] characters to the left of the start of the match
- b[+num] [num] characters to the right of the start (begin) of the match
- b[-num] [num] characters to the left of the start (begin) of the match
- ;{search-command} execute {search-command} next
- ------------------------------------------------------------------------------
- *Q_ma* Marks and motions
-
- |m| m{a-zA-Z} mark current position with mark {a-zA-Z}
- |`a| `{a-z} go to mark {a-z} within current file
- |`A| `{A-Z} go to mark {A-Z} in any file
- |`0| `{0-9} go to the position where Vim was previously exited
- |``| `` go to the position before the last jump
- |`quote| `" go to the position when last editing this file
- |`[| `[ go to the start of the previously operated or put text
- |`]| `] go to the end of the previously operated or put text
- |`<| `< go to the start of the (previous) Visual area
- |`>| `> go to the end of the (previous) Visual area
- |`.| `. go to the position of the last change in this file
- |'| '{a-zA-Z0-9[]'"<>.}
- same as `, but on the first non-blank in the line
- |:marks| :marks print the active marks
- |CTRL-O| N CTRL-O go to Nth older position in jump list
- |CTRL-I| N CTRL-I go to Nth newer position in jump list
- |:ju| :ju[mps] print the jump list
- ------------------------------------------------------------------------------
- *Q_vm* Various motions
-
- |%| % find the next brace, bracket, comment, or "#if"/
- "#else"/"#endif" in this line and go to its match
- |H| N H go to the Nth line in the window, on the first
- non-blank
- |M| M go to the middle line in the window, on the first
- non-blank
- |L| N L go to the Nth line from the bottom, on the first
- non-blank
-
- |go| N go go to Nth byte in the buffer
- |:go| :[range]go[to] [off] go to [off] byte in the buffer
- ------------------------------------------------------------------------------
- *Q_ta* Using tags
-
- |:ta| :ta[g][!] {tag} Jump to tag {tag}
- |:ta| :[count]ta[g][!] Jump to [count]'th newer tag in tag list
- |CTRL-]| CTRL-] Jump to the tag under cursor, unless changes
- have been made
- |:ts| :ts[elect][!] [tag] List matching tags and select one to jump to
- |:tjump| :tj[ump][!] [tag] Jump to tag [tag] or select from list when
- there are multiple matches
-
- |:tags| :tags Print tag list
- |CTRL-T| N CTRL-T Jump back from Nth older tag in tag list
- |:po| :[count]po[p][!] Jump back from [count]'th older tag in tag list
- |:tnext| :[count]tn[ext][!] Jump to [count]'th next matching tag
- |:tp| :[count]tp[revious][!] Jump to [count]'th previous matching tag
- |:tr| :[count]tr[ewind][!] Jump to [count]'th matching tag
- |:tl| :tl[ast][!] Jump to last matching tag
-
- |:ptag| :pt[ag] {tag} open a preview window to show tag {tag}
- |CTRL-W_}| CTRL-W } like CTRL-] but show tag in preview window
- |:pts| :pts[elect] like ":tselect" but show tag in preview window
- |:ptjump| :ptj[ump] like ":tjump" but show tag in preview window
- |:pclose| :pc[lose] close tag preview window
- |CTRL-W_z| CTRL-W z close tag preview window
- ------------------------------------------------------------------------------
- *Q_sc* Scrolling
-
- |CTRL-E| N CTRL-E window N lines downwards (default: 1)
- |CTRL-D| N CTRL-D window N lines Downwards (default: 1/2 window)
- |CTRL-F| N CTRL-F window N pages Forwards (downwards)
- |CTRL-Y| N CTRL-Y window N lines upwards (default: 1)
- |CTRL-U| N CTRL-U window N lines Upwards (default: 1/2 window)
- |CTRL-B| N CTRL-B window N pages Backwards (upwards)
- |z<CR>| z<CR> or zt redraw, current line at top of window
- |z.| z. or zz redraw, current line at center of window
- |z-| z- or zb redraw, current line at bottom of window
-
- These only work when 'wrap' is off:
- |zh| N zh scroll screen N characters to the right
- |zl| N zl scroll screen N characters to the left
- |zH| N zH scroll screen half a screenwidth to the right
- |zL| N zL scroll screen half a screenwidth to the left
- ------------------------------------------------------------------------------
- *Q_in* Inserting text
-
- |a| N a append text after the cursor (N times)
- |A| N A append text at the end of the line (N times)
- |i| N i insert text before the cursor (N times) (also: <Insert>)
- |I| N I insert text before the first non-blank in the line (N times)
- |gI| N gI insert text in column 1 (N times)
- |o| N o open a new line below the current line, append text (N times)
- |O| N O open a new line above the current line, append text (N times)
- |:startinsert| :star[tinsert][!] start Insert mode, append when [!] used
-
- in Visual block mode:
- |v_b_I| I insert the same text in front of all the selected lines
- |v_b_A| A append the same text after all the selected lines
- ------------------------------------------------------------------------------
- *Q_ai* Insert mode keys
-
- |insert-index| alphabetical index of Insert mode commands
-
- leaving Insert mode:
- |i_<Esc>| <Esc> end Insert mode, back to Normal mode
- |i_CTRL-C| CTRL-C like <Esc>, but do not use an abbreviation
- |i_CTRL-O| CTRL-O {command} execute {command} and return to Insert mode
-
- moving around:
- |i_<Up>| cursor keys move cursor left/right/up/down
- |i_<S-Left>| shift-left/right one word left/right
- |i_<S-Up>| shift-up/down one screenful backward/forward
- |i_<End>| <End> cursor after last character in the line
- |i_<Home>| <Home> cursor to first character in the line
- ------------------------------------------------------------------------------
- *Q_ss* Special keys in Insert mode
-
- |i_CTRL-V| CTRL-V {char}.. insert character literally, or enter decimal
- byte value
- |i_<NL>| <NL> or <CR> or CTRL-M or CTRL-J
- begin new line
- |i_CTRL-E| CTRL-E insert the character from below the cursor
- |i_CTRL-Y| CTRL-Y insert the character from above the cursor
-
- |i_CTRL-A| CTRL-A insert previously inserted text
- |i_CTRL-@| CTRL-@ insert previously inserted text and stop
- Insert mode
- |i_CTRL-R| CTRL-R {0-9a-z%#:.-="} insert the contents of a register
-
- |i_CTRL-N| CTRL-N insert next match of identifier before the
- cursor
- |i_CTRL-P| CTRL-P insert previous match of identifier before
- the cursor
- |i_CTRL-X| CTRL-X ... complete the word before the cursor in
- various ways
-
- |i_<BS>| <BS> or CTRL-H delete the character before the cursor
- |i_<Del>| <Del> delete the character under the cursor
- |i_CTRL-W| CTRL-W delete word before the cursor
- |i_CTRL-U| CTRL-U delete all entered characters in the current
- line
- |i_CTRL-T| CTRL-T insert one shiftwidth of indent in front of
- the current line
- |i_CTRL-D| CTRL-D delete one shiftwidth of indent in front of
- the current line
- |i_0_CTRL-D| 0 CTRL-D delete all indent in the current line
- |i_^_CTRL-D| ^ CTRL-D delete all indent in the current line,
- restore indent in next line
- ------------------------------------------------------------------------------
- *Q_di* Digraphs
-
- |:dig| :dig[raphs] show current list of digraphs
- |:dig| :dig[raphs] {char1}{char2} {number} ...
- add digraph(s) to the list
-
- In Insert or Command-line mode:
- |i_CTRL-K| CTRL-K {char1} {char2}
- enter digraph
- |i_digraph| {char1} <BS> {char2}
- enter digraph if 'digraph' option set
- ------------------------------------------------------------------------------
- *Q_si* Special inserts
-
- |:r| :r [file] insert the contents of [file] below the cursor
- |:r!| :r! {command} insert the standard output of {command} below the
- cursor
- ------------------------------------------------------------------------------
- *Q_de* Deleting text
-
- |x| N x delete N characters under and after the cursor
- |<Del>| N <Del> delete N characters under and after the cursor
- |X| N X delete N characters before the cursor
- |d| N d{motion} delete the text that is moved over with {motion}
- |v_d| {visual}d delete the highlighted text
- |dd| N dd delete N lines
- |D| N D delete to the end of the line (and N-1 more lines)
- |J| N J join N-1 lines (delete <EOL>s)
- |v_J| {visual}J join the highlighted lines
- |gJ| N gJ like "J", but without inserting spaces
- |v_gJ| {visual}gJ like "{visual}J", but without inserting spaces
- |:d| :[range]d [x] delete [range] lines [into register x]
- ------------------------------------------------------------------------------
- *Q_cm* Copying and moving text
-
- |quote| "{char} use register {char} for the next delete, yank, or put
- |:reg| :reg show the contents of all registers
- |:reg| :reg {arg} show the contents of registers mentioned in {arg}
- |y| N y{motion} yank the text moved over with {motion} into a register
- |v_y| {visual}y yank the highlighted text into a register
- |yy| N yy yank N lines into a register
- |Y| N Y yank N lines into a register
- |p| N p put a register after the cursor position (N times)
- |P| N P put a register before the cursor position (N times)
- |]p| N ]p like p, but adjust indent to current line
- |[p| N [p like P, but adjust indent to current line
- |gp| N gp like p, but leave cursor after the new text
- |gP| N gP like P, but leave cursor after the new text
- ------------------------------------------------------------------------------
- *Q_ch* Changing text
-
- |r| N r{char} replace N characters with {char}
- |gr| N gr{char} replace N characters without affecting layout
- |R| N R enter Replace mode (repeat the entered text N times)
- |gR| N gR enter virtual Replace mode: Like Replace mode but
- without affecting layout
- |v_b_r| {visual}r{char}
- in Visual block mode: Replace each char of the
- selected text with {char}
-
- (change = delete text and enter Insert mode)
- |c| N c{motion} change the text that is moved over with {motion}
- |v_c| {visual}c change the highlighted text
- |cc| N cc change N lines
- |S| N S change N lines
- |C| N C change to the end of the line (and N-1 more lines)
- |s| N s change N characters
- |v_b_c| {visual}c in Visual block mode: Change each of the selected
- lines with the entered text
- |v_b_C| {visual}C in Visual block mode: Change each of the selected
- lines until end-of-line with the entered text
-
- |~| N ~ switch case for N characters and advance cursor
- |v_~| {visual}~ switch case for highlighted text
- |v_u| {visual}u make highlighted text lowercase
- |v_U| {visual}U make highlighted text uppercase
- |g~| g~{motion} switch case for the text that is moved over with
- {motion}
- |gu| gu{motion} make the text that is moved over with {motion}
- lowercase
- |gU| gU{motion} make the text that is moved over with {motion}
- uppercase
- |v_g?| {visual}g? perform rot13 encoding on highlighted text
- |g?| g?{motion} perform rot13 encoding on the text that is moved over
- with {motion}
-
- |CTRL-A| N CTRL-A add N to the number at or after the cursor
- |CTRL-X| N CTRL-X subtract N from the number at or after the cursor
-
- |<| N <{motion} move the lines that are moved over with {motion} one
- shiftwidth left
- |<<| N << move N lines one shiftwidth left
- |>| N >{motion} move the lines that are moved over with {motion} one
- shiftwidth right
- |>>| N >> move N lines one shiftwidth right
- |gq| N gq{motion} format the lines that are moved over with {motion} to
- 'textwidth' length
- |:ce| :[range]ce[nter] [width]
- center the lines in [range]
- |:le| :[range]le[ft] [indent]
- left-align the lines in [range] (with [indent])
- |:ri| :[range]ri[ght] [width]
- right-align the lines in [range]
- ------------------------------------------------------------------------------
- *Q_co* Complex changes
-
- |!| N !{motion}{command}<CR>
- filter the lines that are moved over through {command}
- |!!| N !!{command}<CR>
- filter N lines through {command}
- |v_!| {visual}!{command}<CR>
- filter the highlighted lines through {command}
- |:range!| :[range]! {command}<CR>
- filter [range] lines through {command}
- |=| N ={motion}
- filter the lines that are moved over through 'equalprg'
- |==| N == filter N lines through 'equalprg'
- |v_=| {visual}=
- filter the highlighted lines through 'equalprg'
- |:s| :[range]s[ubstitute]/{pattern}/{string}/[g][c]
- substitute {pattern} by {string} in [range] lines;
- with [g], replace all occurrences of {pattern};
- with [c], confirm each replacement
- |:s| :[range]s[ubstitute] [g][c]
- repeat previous ":s" with new range and options
- |&| & Repeat previous ":s" on current line without options
- |:ret| :[range]ret[ab][!] [tabstop]
- set 'tabstop' to new value and adjust white space
- accordingly
- ------------------------------------------------------------------------------
- *Q_vi* Visual mode
-
- |visual-index| list of Visual mode commands.
-
- |v| v start highlighting characters } move cursor and use
- |V| V start highlighting linewise } operator to affect
- |CTRL-V| CTRL-V start highlighting blockwise } highlighted text
- |v_o| o exchange cursor position with start of highlighting
- |gv| gv start highlighting on previous visual area
- |v_v| v highlight characters or stop highlighting
- |v_V| V highlight linewise or stop highlighting
- |v_CTRL-V| CTRL-V highlight blockwise or stop highlighting
- ------------------------------------------------------------------------------
- *Q_to* Text objects (only in Visual mode or after an operator)
-
- |v_aw| N aw Select "a word"
- |v_iw| N iw Select "inner word"
- |v_aW| N aW Select "a |WORD|"
- |v_iW| N iW Select "inner |WORD|"
- |v_as| N as Select "a sentence"
- |v_is| N is Select "inner sentence"
- |v_ap| N ap Select "a paragraph"
- |v_ip| N ip Select "inner paragraph"
- |v_ab| N ab Select "a block" (from "[(" to "])")
- |v_ib| N ib Select "inner block" (from "[(" to "])")
- |v_aB| N aB Select "a Block" (from "[{" to "]}")
- |v_iB| N iB Select "inner Block" (from "[{" to "]}")
- ------------------------------------------------------------------------------
- *Q_re* Repeating commands
-
- |.| N . repeat last change (with count replaced with N)
- |q| q{a-z} record typed characters into register {a-z}
- |q| q{A-Z} record typed characters, appended to register {a-z}
- |q| q stop recording
- |@| N @{a-z} execute the contents of register {a-z} (N times)
- |@@| N @@ repeat previous @{a-z} (N times)
- |:@| :@{a-z} execute the contents of register {a-z} as an Ex
- command
- |:@@| :@@ repeat previous :@{a-z}
- |:g| :[range]g[lobal]/{pattern}/[cmd]
- Execute Ex command [cmd] (default: ":p") on the lines
- within [range] where {pattern} matches.
- |:g| :[range]g[lobal]!/{pattern}/[cmd]
- Execute Ex command [cmd] (default: ":p") on the lines
- within [range] where {pattern} does NOT match.
- |:so| :so[urce] {file}
- Read Ex commands from {file}.
- |:so| :so[urce]! {file}
- Read Vim commands from {file}.
- |:sl| :sl[eep] [sec]
- don't do anything for [sec] seconds
- |gs| N gs Goto Sleep for N seconds
- ------------------------------------------------------------------------------
- *Q_km* Key mapping
-
- |:map| :ma[p] {lhs} {rhs} Map {lhs} to {rhs} in Normal and Visual
- mode.
- |:map!| :ma[p]! {lhs} {rhs} Map {lhs} to {rhs} in Insert and Command-line
- mode.
- |:noremap| :no[remap][!] {lhs} {rhs}
- Same as ":map", no remapping for this {rhs}
- |:unmap| :unm[ap] {lhs} Remove the mapping of {lhs} for Normal and
- Visual mode.
- |:unmap!| :unm[ap]! {lhs} Remove the mapping of {lhs} for Insert and
- Command-line mode.
- |:map_l| :ma[p] [lhs] List mappings (starting with [lhs]) for
- Normal and Visual mode.
- |:map_l!| :ma[p]! [lhs] List mappings (starting with [lhs]) for
- Insert and Command-line mode.
- |:cmap| :cmap/:cunmap/:cnoremap
- like ":map!"/":unmap!"/":noremap!" but for
- Command-line mode only
- |:imap| :imap/:iunmap/:inoremap
- like ":map!"/":unmap!"/":noremap!" but for
- Insert mode only
- |:nmap| :nmap/:nunmap/:nnoremap
- like ":map"/":unmap"/":noremap" but for
- Normal mode only
- |:vmap| :vmap/:vunmap/:vnoremap
- like ":map"/":unmap"/":noremap" but for
- Visual mode only
- |:omap| :omap/:ounmap/:onoremap
- like ":map"/":unmap"/":noremap" but only for
- when an operator is pending
- |:mapc| :mapc[lear] remove mappings for Normal and Visual mode
- |:mapc| :mapc[lear]! remove mappings for Insert and Cmdline mode
- |:imapc| :imapc[lear] remove mappings for Insert mode
- |:vmapc| :vmapc[lear] remove mappings for Visual mode
- |:omapc| :omapc[lear] remove mappings for Operator-pending mode
- |:nmapc| :nmapc[lear] remove mappings for Normal mode
- |:cmapc| :cmapc[lear] remove mappings for Cmdline mode
- |:mkexrc| :mk[exrc][!] [file] write current mappings, abbreviations, and
- settings to [file] (default: ".exrc";
- use ! to overwrite)
- |:mkvimrc| :mkv[imrc][!] [file]
- same as ":mkexrc", but with default ".vimrc"
- |:mksession| :mks[ession][!] [file]
- like ":mkvimrc", but store current files,
- windows, etc. too, to be able to continue
- this session later.
- ------------------------------------------------------------------------------
- *Q_ab* Abbreviations
-
- |:abbreviate| :ab[breviate] {lhs} {rhs} add abbreviation for {lhs} to {rhs}
- |:abbreviate| :ab[breviate] {lhs} show abbr's that start with {lhs}
- |:abbreviate| :ab[breviate] show all abbreviations
- |:unabbreviate| :una[bbreviate] {lhs} remove abbreviation for {lhs}
- |:noreabbrev| :norea[bbrev] [lhs] [rhs] like ":ab", but don't remap [rhs]
- |:iabbrev| :iab/:iunab/:inoreab like ":ab", but only for Insert mode
- |:cabbrev| :cab/:cunab/:cnoreab like ":ab", but only for
- Command-line mode
- |:abclear| :abc[lear] remove all abbreviations
- |:cabclear| :cabc[lear] remove all abbr's for Cmdline mode
- |:iabclear| :iabc[lear] remove all abbr's for Insert mode
- ------------------------------------------------------------------------------
- *Q_op* Options
-
- |:set| :se[t] Show all modified options.
- |:set| :se[t] all Show all non-termcap options.
- |:set| :se[t] termcap Show all termcap options.
- |:set| :se[t] {option} Set boolean option (switch it on),
- show string or number option.
- |:set| :se[t] no{option} Reset boolean option (switch it off).
- |:set| :se[t] inv{option} invert boolean option.
- |:set| :se[t] {option}={value} Set string/number option to {value}.
- |:set| :se[t] {option}+={value} append {value} to string option, add
- {value} to number option
- |:set| :se[t] {option}-={value} remove {value} to string option,
- subtract {value} from number option
- |:set| :se[t] {option}? Show value of {option}.
- |:set| :se[t] {option}& Reset {option} to its default value.
-
- |:setlocal| :setl[ocal] like ":set" but set the local value
- for options that have one
- |:setglobal| :setg[lobal] like ":set" but set the global value
- of a local option
-
- |:fix| :fix[del] Set value of 't_kD' according to
- value of 't_kb'.
- |:options| :opt[ions] Open a new window to view and set
- options, grouped by functionality,
- a one line explanation and links to
- the help.
-
- Short explanation of each option: *option-list*
- |'aleph'| |'al'| ASCII code of the letter Aleph (Hebrew)
- |'allowrevins'| |'ari'| allow CTRL-_ in Insert and Command-line mode
- |'altkeymap'| |'akm'| for default second language (Farsi/Hebrew)
- |'autoindent'| |'ai'| take indent for new line from previous line
- |'autoread'| |'ar'| autom. read file when changed outside of Vim
- |'autowrite'| |'aw'| automatically write file if changed
- |'autowriteall'| |'awa'| as 'autowrite', but works with more commands
- |'background'| |'bg'| "dark" or "light", used for highlight colors
- |'backspace'| |'bs'| how backspace works at start of line
- |'backup'| |'bk'| keep backup file after overwriting a file
- |'backupcopy'| |'bkc'| make backup as a copy, don't rename the file
- |'backupdir'| |'bdir'| list of directories for the backup file
- |'backupext'| |'bex'| extension used for the backup file
- |'backupskip'| |'bsk'| no backup for files that match these patterns
- |'balloondelay'| |'bdlay'| delay in mS before a balloon may pop up
- |'ballooneval'| |'beval'| switch on balloon evaluation
- |'binary'| |'bin'| read/write/edit file in binary mode
- |'bioskey'| |'biosk'| MS-DOS: use bios calls for input characters
- |'bomb'| prepend a Byte Order Mark to the file
- |'breakat'| |'brk'| characters that may cause a line break
- |'browsedir'| |'bsdir'| which directory to start browsing in
- |'bufhidden'| |'bh'| what to do when buffer is no longer in window
- |'buflisted'| |'bl'| whether the buffer shows up in the buffer list
- |'buftype'| |'bt'| special type of buffer
- |'cdpath'| |'cd'| list of directories searched with ":cd"
- |'cedit'| key used to open the command-line window
- |'charconvert'| |'ccv'| expression for character encoding conversion
- |'cindent'| |'cin'| do C program indenting
- |'cinkeys'| |'cink'| keys that trigger indent when 'cindent' is set
- |'cinoptions'| |'cino'| how to do indenting when 'cindent' is set
- |'cinwords'| |'cinw'| words where 'si' and 'cin' add an indent
- |'clipboard'| |'cb'| use the clipboard as the unnamed register
- |'cmdheight'| |'ch'| number of lines to use for the command-line
- |'cmdwinheight'| |'cwh'| height of the command-line window
- |'columns'| |'co'| number of columns in the display
- |'comments'| |'com'| patterns that can start a comment line
- |'commentstring'| |'cms'| template for comments; used for fold marker
- |'compatible'| |'cp'| behave Vi-compatible as much as possible
- |'complete'| |'cpt'| specify how Insert mode completion works
- |'confirm'| |'cf'| ask what to do about unsaved/read-only files
- |'conskey'| |'consk'| get keys directly from console (MS-DOS only)
- |'cpoptions'| |'cpo'| flags for Vi-compatible behavior
- |'cscopepathcomp'| |'cspc'| how many components of the path to show
- |'cscopeprg'| |'csprg'| command to execute cscope
- |'cscopetag'| |'cst'| use cscope for tag commands
- |'cscopetagorder'| |'csto'| determines ":cstag" search order
- |'cscopeverbose'| |'csverb'| give messages when adding a cscope database
- |'debug'| set to "msg" to see all error messages
- |'define'| |'def'| pattern to be used to find a macro definition
- |'delcombine'| |'deco'| delete combining characters on their own
- |'dictionary'| |'dict'| list of file names used for keyword completion
- |'diff'| use diff mode for the current window
- |'diffexpr'| |'dex'| expression used to obtain a diff file
- |'diffopt'| |'dip'| options for using diff mode
- |'digraph'| |'dg'| enable the entering of digraphs in Insert mode
- |'directory'| |'dir'| list of directory names for the swap file
- |'display'| |'dy'| list of flags for how to display text
- |'edcompatible'| |'ed'| toggle flags of ":substitute" command
- |'eadirection'| |'ead'| in which direction 'equalalways' works
- |'encoding'| |'enc'| encoding used internally
- |'endofline'| |'eol'| write <EOL> for last line in file
- |'equalalways'| |'ea'| windows are automatically made the same size
- |'equalprg'| |'ep'| external program to use for "=" command
- |'errorbells'| |'eb'| ring the bell for error messages
- |'errorfile'| |'ef'| name of the errorfile for the QuickFix mode
- |'errorformat'| |'efm'| description of the lines in the error file
- |'esckeys'| |'ek'| recognize function keys in Insert mode
- |'eventignore'| |'ei'| autocommand events that are ignored
- |'expandtab'| |'et'| use spaces when <Tab> is inserted
- |'exrc'| |'ex'| read .vimrc and .exrc in the current directory
- |'fileencoding'| |'fenc'| file encoding for multi-byte text
- |'fileencodings'| |'fencs'| automatically detected character encodings
- |'fileformat'| |'ff'| file format used for file I/O
- |'fileformats'| |'ffs'| automatically detected values for 'fileformat'
- |'filetype'| |'ft'| type of file, used for autocommands
- |'fillchars'| |'fcs'| characters to use for displaying special items
- |'fkmap'| |'fk'| Farsi keyboard mapping
- |'foldclose'| |'fcl'| close a fold when the cursor leaves it
- |'foldcolumn'| |'fdc'| width of the column used to indicate folds
- |'foldenable'| |'fen'| set to display all folds open
- |'foldexpr'| |'fde'| expression used when 'foldmethod' is "expr"
- |'foldignore'| |'fdi'| ignore lines when 'foldmethod' is "indent"
- |'foldlevel'| |'fdl'| close folds with a level higher than this
- |'foldlevelstart'| |'fdls'| 'foldlevel' when startng to edit a file
- |'foldmarker'| |'fmr'| markers used when 'foldmethod' is "marker"
- |'foldmethod'| |'fdm'| folding type
- |'foldminlines'| |'fml'| minimum number of lines for a fold to be closed
- |'foldnestmax'| |'fdn'| maximum fold depth
- |'foldopen'| |'fdo'| for which commands a fold will be opened
- |'foldtext'| |'fdt'| expression used to display for a closed fold
- |'formatoptions'| |'fo'| how automatic formatting is to be done
- |'formatprg'| |'fp'| name of external program used with "gq" command
- |'gdefault'| |'gd'| the ":substitute" flag 'g' is default on
- |'grepformat'| |'gfm'| format of 'grepprg' output
- |'grepprg'| |'gp'| program to use for ":grep"
- |'guicursor'| |'gcr'| GUI: settings for cursor shape and blinking
- |'guifont'| |'gfn'| GUI: Name(s) of font(s) to be used
- |'guifontset'| |'gfs'| GUI: Names of multi-byte fonts to be used
- |'guifontwide'| |'gfw'| list of font names for double-wide characters
- |'guiheadroom'| |'ghr'| GUI: pixels room for window decorations
- |'guioptions'| |'go'| GUI: Which components and options are used
- |'guipty'| GUI: try to use a pseudo-tty for ":!" commands
- |'helpfile'| |'hf'| name of this help file
- |'helpheight'| |'hh'| minimum height of a new help window
- |'hidden'| |'hid'| don't unload buffer when it is |abandon|ed
- |'highlight'| |'hl'| sets highlighting mode for various occasions
- |'hlsearch'| |'hls'| highlight matches with last search pattern
- |'history'| |'hi'| number of command-lines that are remembered
- |'hkmap'| |'hk'| Hebrew keyboard mapping
- |'hkmapp'| |'hkp'| phonetic Hebrew keyboard mapping
- |'icon'| let Vim set the text of the window icon
- |'iconstring'| string to use for the Vim icon text
- |'ignorecase'| |'ic'| ignore case in search patterns
- |'imactivatekey'| |'imak'| key that activates the X input method
- |'imcmdline'| |'imc'| use IM when starting to edit a command line
- |'iminsert'| |'imi'| use :lmap or IM in Insert mode
- |'imsearch'| |'ims'| use :lmap or IM when typing a search pattern
- |'include'| |'inc'| pattern to be used to find an include file
- |'includeexpr'| |'inex'| expression used to process an include line
- |'incsearch'| |'is'| highlight match while typing search pattern
- |'indentexpr'| |'inde'| expression used to obtain the indent of a line
- |'indentkeys'| |'indk'| keys that trigger indenting with 'indentexpr'
- |'infercase'| |'inf'| adjust case of match for keyword completion
- |'insertmode'| |'im'| start the edit of a file in Insert mode
- |'isfname'| |'isf'| characters included in file names and pathnames
- |'isident'| |'isi'| characters included in identifiers
- |'iskeyword'| |'isk'| characters included in keywords
- |'isprint'| |'isp'| printable characters
- |'joinspaces'| |'js'| two spaces after a period with a join command
- |'key'| encryption key
- |'keymap'| |'kmp'| name of a keyboard mapping
- |'keymodel'| |'km'| enable starting/stopping selection with keys
- |'keywordprg'| |'kp'| program to use for the "K" command
- |'langmap'| |'lmap'| alphabetic characters for other language mode
- |'langmenu'| |'lm'| language to be used for the menus
- |'laststatus'| |'ls'| tells when last window has status lines
- |'lazyredraw'| |'lz'| don't redraw while executing macros
- |'linebreak'| |'lbr'| wrap long lines at a blank
- |'lines'| number of lines in the display
- |'linespace'| |'lsp'| number of pixel lines to use between characters
- |'lisp'| automatic indenting for Lisp
- |'lispwords'| |'lw'| words that change how lisp indenting works
- |'list'| show <Tab> and <EOL>
- |'listchars'| |'lcs'| characters for displaying in list mode
- |'loadplugins'| |'lpl'| load plugin scripts when starting up
- |'magic'| changes special characters in search patterns
- |'makeef'| |'mef'| name of the errorfile for ":make"
- |'makeprg'| |'mp'| program to use for the ":make" command
- |'matchpairs'| |'mps'| pairs of characters that "%" can match
- |'matchtime'| |'mat'| tenths of a second to show matching paren
- |'maxfuncdepth'| |'mfd'| maximum recursive depth for user functions
- |'maxmapdepth'| |'mmd'| maximum recursive depth for mapping
- |'maxmem'| |'mm'| maximum memory (in Kbyte) used for one buffer
- |'maxmemtot'| |'mmt'| maximum memory (in Kbyte) used for all buffers
- |'menuitems'| |'mis'| maximum number of items in a menu
- |'modeline'| |'ml'| recognize modelines at start or end of file
- |'modelines'| |'mls'| number of lines checked for modelines
- |'modifiable'| |'ma'| changes to the text are not possible
- |'modified'| |'mod'| buffer has been modified
- |'more'| pause listings when the whole screen is filled
- |'mouse'| enable the use of mouse clicks
- |'mousefocus'| |'mousef'| keyboard focus follows the mouse
- |'mousehide'| |'mh'| hide mouse pointer while typing
- |'mousemodel'| |'mousem'| changes meaning of mouse buttons
- |'mouseshape'| |'mouses'| shape of the mouse pointer in different modes
- |'mousetime'| |'mouset'| max time between mouse double-click
- |'nrformats'| |'nf'| number formats recognized for CTRL-A command
- |'number'| |'nu'| print the line number in front of each line
- |'osfiletype'| |'oft'| operating system-specific filetype information
- |'paragraphs'| |'para'| nroff macros that separate paragraphs
- |'paste'| allow pasting text
- |'pastetoggle'| |'pt'| key code that causes 'paste' to toggle
- |'patchexpr'| |'pex'| expression used to patch a file
- |'patchmode'| |'pm'| keep the oldest version of a file
- |'path'| |'pa'| list of directories searched with "gf" et.al.
- |'previewheight'| |'pvh'| height of the preview window
- |'previewwindow'| |'pvw'| identifies the preview window
- |'printdevice'| |'pdev'| name of the printer to be used for :hardcopy
- |'printfont'| |'pfn'| name of the font to be used for :hardcopy
- |'printheader'| |'pheader'| format of the header used for :hardcopy
- |'printoptions'| |'popt'| controls the format of :hardcopy output
- |'readonly'| |'ro'| disallow writing the buffer
- |'remap'| allow mappings to work recursively
- |'report'| threshold for reporting nr. of lines changed
- |'restorescreen'| |'rs'| Win32: restore screen when exiting
- |'revins'| |'ri'| inserting characters will work backwards
- |'rightleft'| |'rl'| window is right-to-left oriented
- |'ruler'| |'ru'| show cursor line and column in the status line
- |'rulerformat'| |'ruf'| custom format for the ruler
- |'runtimepath'| |'rtp'| list of directories used for runtime files
- |'scroll'| |'scr'| lines to scroll with CTRL-U and CTRL-D
- |'scrollbind'| |'scb'| scroll in window as other windows scroll
- |'scrolljump'| |'sj'| minimum number of lines to scroll
- |'scrolloff'| |'so'| minimum nr. of lines above and below cursor
- |'scrollopt'| |'sbo'| how 'scrollbind' should behave
- |'sections'| |'sect'| nroff macros that separate sections
- |'secure'| secure mode for reading .vimrc in current dir
- |'selection'| |'sel'| what type of selection to use
- |'selectmode'| |'slm'| when to use Select mode instead of Visual mode
- |'sessionoptions'| |'ssop'| options for |:mksession|
- |'shell'| |'sh'| name of shell to use for external commands
- |'shellcmdflag'| |'shcf'| flag to shell to execute one command
- |'shellpipe'| |'sp'| string to put output of ":make" in error file
- |'shellquote'| |'shq'| quote character(s) for around shell command
- |'shellredir'| |'srr'| string to put output of filter in a temp file
- |'shellslash'| |'ssl'| use forward slash for shell file names
- |'shelltype'| |'st'| Amiga: influences how to use a shell
- |'shellxquote'| |'sxq'| like 'shellquote', but include redirection
- |'shiftround'| |'sr'| round indent to multiple of shiftwidth
- |'shiftwidth'| |'sw'| number of spaces to use for (auto)indent step
- |'shortmess'| |'shm'| list of flags, reduce length of messages
- |'shortname'| |'sn'| non-MS-DOS: Filenames assumed to be 8.3 chars
- |'showbreak'| |'sbr'| string to use at the start of wrapped lines
- |'showcmd'| |'sc'| show (partial) command in status line
- |'showfulltag'| |'sft'| show full tag pattern when completing tag
- |'showmatch'| |'sm'| briefly jump to matching bracket if insert one
- |'showmode'| |'smd'| message on status line to show current mode
- |'sidescroll'| |'ss'| minimum number of columns to scroll horizontal
- |'sidescrolloff'| |'siso'| min. nr. of columns to left and right of cursor
- |'smartcase'| |'scs'| no ignore case when pattern has uppercase
- |'smartindent'| |'si'| smart autoindenting for C programs
- |'smarttab'| |'sta'| use 'shiftwidth' when inserting <Tab>
- |'softtabstop'| |'sts'| number of spaces that <Tab> uses while editing
- |'splitbelow'| |'sb'| new window from split is below the current one
- |'splitright'| |'spr'| new window is put right of the current one
- |'startofline'| |'sol'| commands move cursor to first blank in line
- |'statusline'| |'stl'| custom format for the status line
- |'suffixes'| |'su'| suffixes that are ignored with multiple match
- |'suffixesadd'| |'sua'| suffixes added when searching for a file
- |'swapfile'| |'swf'| whether to use a swapfile for a buffer
- |'swapsync'| |'sws'| how to sync the swap file
- |'switchbuf'| |'swb'| sets behavior when switching to another buffer
- |'syntax'| |'syn'| syntax to be loaded for current buffer
- |'tabstop'| |'ts'| number of spaces that <Tab> in file uses
- |'tagbsearch'| |'tbs'| use binary searching in tags files
- |'taglength'| |'tl'| number of significant characters for a tag
- |'tagrelative'| |'tr'| file names in tag file are relative
- |'tags'| |'tag'| list of file names used by the tag command
- |'tagstack'| |'tgst'| push tags onto the tag stack
- |'term'| name of the terminal
- |'termencoding'| |'tenc'| character encoding used by the terminal
- |'terse'| shorten some messages
- |'textauto'| |'ta'| obsolete, use 'fileformats'
- |'textmode'| |'tx'| obsolete, use 'fileformat'
- |'textwidth'| |'tw'| maximum width of text that is being inserted
- |'thesaurus'| |'tsr'| list of thesaurus files for keyword completion
- |'tildeop'| |'top'| tilde command "~" behaves like an operator
- |'timeout'| |'to'| time out on mappings and key codes
- |'timeoutlen'| |'tm'| time out time in milliseconds
- |'title'| let Vim set the title of the window
- |'titlelen'| percentage of 'columns' used for window title
- |'titleold'| old title, restored when exiting
- |'titlestring'| string to use for the Vim window title
- |'toolbar'| |'tb'| GUI: which items to show in the toolbar
- |'ttimeout'| time out on mappings
- |'ttimeoutlen'| |'ttm'| time out time for key codes in milliseconds
- |'ttybuiltin'| |'tbi'| use built-in termcap before external termcap
- |'ttyfast'| |'tf'| indicates a fast terminal connection
- |'ttymouse'| |'ttym'| type of mouse codes generated
- |'ttyscroll'| |'tsl'| maximum number of lines for a scroll
- |'ttytype'| |'tty'| alias for 'term'
- |'undolevels'| |'ul'| maximum number of changes that can be undone
- |'updatecount'| |'uc'| after this many characters flush swap file
- |'updatetime'| |'ut'| after this many milliseconds flush swap file
- |'verbose'| |'vbs'| give informative messages
- |'viewdir'| |'vdir'| directory where to store files with :mkview
- |'viewoptions'| |'vop'| specifies what to save for :mkview
- |'viminfo'| |'vi'| use .viminfo file upon startup and exiting
- |'virtualedit'| |'ve'| when to use virtual editing
- |'visualbell'| |'vb'| use visual bell instead of beeping
- |'warn'| warn for shell command when buffer was changed
- |'weirdinvert'| |'wi'| for terminals that have weird inversion method
- |'whichwrap'| |'ww'| allow specified keys to cross line boundaries
- |'wildchar'| |'wc'| command-line character for wildcard expansion
- |'wildcharm'| |'wcm'| like 'wildchar' but also works when mapped
- |'wildignore'| |'wig'| files matching these patterns are not completed
- |'wildmenu'| |'wmnu'| use menu for command line completion
- |'wildmode'| |'wim'| mode for 'wildchar' command-line expansion
- |'winaltkeys'| |'wak'| when the windows system handles ALT keys
- |'winheight'| |'wh'| minimum number of lines for the current window
- |'winminheight'| |'wmh'| minimum number of lines for any window
- |'winminwidth'| |'wmw'| minimal number of columns for any window
- |'winwidth'| |'wiw'| minimal number of columns for current window
- |'wrap'| long lines wrap and continue on the next line
- |'wrapmargin'| |'wm'| chars from the right where wrapping starts
- |'wrapscan'| |'ws'| searches wrap around the end of the file
- |'write'| writing to a file is allowed
- |'writeany'| |'wa'| write to file with no need for "!" override
- |'writebackup'| |'wb'| make a backup before overwriting a file
- |'writedelay'| |'wd'| delay this many msec for each char (for debug)
- ------------------------------------------------------------------------------
- *Q_ur* Undo/Redo commands
-
- |u| N u undo last N changes
- |CTRL-R| N CTRL-R redo last N undone changes
- |U| U restore last changed line
- ------------------------------------------------------------------------------
- *Q_et* External commands
-
- |:shell| :sh[ell] start a shell
- |:!| :!{command} execute {command} with a shell
- |K| K lookup keyword under the cursor with
- 'keywordprg' program (default: "man")
- ------------------------------------------------------------------------------
- *Q_qf* Quickfix commands
-
- |:cc| :cc [nr] display error [nr] (default is the same again)
- |:cnext| :cn display the next error
- |:cprevious| :cp display the previous error
- |:clist| :cl list all errors
- |:cfile| :cf read errors from the file 'errorfile'
- |:cquit| :cq quit without writing and return error code (to
- the compiler)
- |:make| :make [args] start make, read errors, and jump to first
- error
- |:grep| :gr[ep] [args] execute 'grepprg' to find matches and jump to
- the first one.
- ------------------------------------------------------------------------------
- *Q_vc* Various commands
-
- |CTRL-L| CTRL-L Clear and redraw the screen.
- |CTRL-G| CTRL-G show current file name (with path) and cursor
- position
- |ga| ga show ascii value of character under cursor in
- decimal, hex, and octal
- |g_CTRL-G| g CTRL-G show cursor column, line, and character
- position
- |CTRL-C| CTRL-C during searches: Interrupt the search
- |dos-CTRL-Break| CTRL-Break MS-DOS: during searches: Interrupt the search
- |<Del>| <Del> while entering a count: delete last character
- |:version| :ve[rsion] show version information
- |:mode| :mode N MS-DOS: set screen mode to N (number, C80,
- C4350, etc.)
- |:normal| :norm[al][!] {commands}
- Execute Normal mode commands.
- |Q| Q switch to "Ex" mode
-
- |:redir| :redir >{file} redirect messages to {file}
- |:silent| :silent[!] {command} execute {command} silently
- |:confirm| :confirm {command} quit, write, etc., asking about
- unsaved changes or read-only files.
- |:browse| :browse {command} open/read/write file, using a
- file selection dialog
- ------------------------------------------------------------------------------
- *Q_ce* Command-line editing
-
- |c_<Esc>| <Esc> abandon command-line (if 'wildchar' is
- <Esc>, type it twice)
-
- |c_CTRL-V| CTRL-V {char} insert {char} literally
- |c_CTRL-V| CTRL-V {number} enter decimal value of character (up to
- three digits)
- |c_CTRL-K| CTRL-K {char1} {char2}
- enter digraph (See |Q_di|)
- |c_CTRL-R| CTRL-R {0-9a-z"%#:-=}
- insert the contents of a register
-
- |c_<Left>| <Left>/<Right> cursor left/right
- |c_<S-Left>| <S-Left>/<S-Right> cursor one word left/right
- |c_CTRL-B| CTRL-B/CTRL-E cursor to beginning/end of command-line
-
- |c_<BS>| <BS> delete the character in front of the cursor
- |c_<Del>| <Del> delete the character under the cursor
- |c_CTRL-W| CTRL-W delete the word in front of the cursor
- |c_CTRL-U| CTRL-U remove all characters
-
- |c_<Up>| <Up>/<Down> recall older/newer command-line that starts
- with current command
- |c_<S-Up>| <S-Up>/<S-Down> recall older/newer command-line from history
- |:history| :his[tory] show older command-lines
-
- Context-sensitive completion on the command-line:
-
- |c_wildchar| 'wildchar' (default: <Tab>)
- do completion on the pattern in front of the
- cursor. If there are multiple matches,
- beep and show the first one; further
- 'wildchar' will show the next ones.
- |c_CTRL-D| CTRL-D list all names that match the pattern in
- front of the cursor
- |c_CTRL-A| CTRL-A insert all names that match pattern in front
- of cursor
- |c_CTRL-L| CTRL-L insert longest common part of names that
- match pattern
- |c_CTRL-N| CTRL-N after 'wildchar' with multiple matches: go
- to next match
- |c_CTRL-P| CTRL-P after 'wildchar' with multiple matches: go
- to previous match
- ------------------------------------------------------------------------------
- *Q_ra* Ex ranges
-
- |:range| , separates two line numbers
- |:range| ; idem, set cursor to the first line number
- before interpreting the second one
-
- |:range| {number} an absolute line number
- |:range| . the current line
- |:range| $ the last line in the file
- |:range| % equal to 1,$ (the entire file)
- |:range| * equal to '<,'> (visual area)
- |:range| 't position of mark t
- |:range| /{pattern}[/] the next line where {pattern} matches
- |:range| ?{pattern}[?] the previous line where {pattern} matches
-
- |:range| +[num] add [num] to the preceding line number
- (default: 1)
- |:range| -[num] subtract [num] from the preceding line
- number (default: 1)
- ------------------------------------------------------------------------------
- *Q_ex* Special Ex characters
-
- |:bar| | separates two commands (not for ":global" and ":!")
- |:quote| " begins comment
-
- |:_%| % current file name (only where a file name is expected)
- |:_#| #[num] alternate file name [num] (only where a file name is
- expected)
- Note: The next four are typed literally; these are not special keys!
- |:<cword>| <cword> word under the cursor (only where a file name is
- expected)
- |:<cWORD>| <cWORD> WORD under the cursor (only where a file name is
- expected) (see |WORD|)
- |:<cfile>| <cfile> file name under the cursor (only where a file name is
- expected)
- |:<afile>| <afile> file name for autocommand (only where a file name is
- expected)
- |:<sfile>| <sfile> file name of a ":source"d file, within that file (only
- where a file name is expected)
-
- After "%", "#", "<cfile>", "<sfile>" or "<afile>"
- |::p| :p full path
- |::h| :h head (file name removed)
- |::t| :t tail (file name only)
- |::r| :r root (extension removed)
- |::e| :e extension
- |::s| :s/{pat}/{repl}/ substitute {pat} with {repl}
- ------------------------------------------------------------------------------
- *Q_ed* Editing a file
-
- Without !: Fail if changes has been made to the current buffer.
- With !: Discard any changes to the current buffer.
- |:edit_f| :e[dit][!] {file} Edit {file}.
- |:edit| :e[dit][!] Reload the current file.
- |:enew| :ene[w][!] Edit a new, unnamed buffer.
- |:find| :fin[d][!] {file} Find {file} in 'path' and edit it.
-
- |CTRL-^| N CTRL-^ Edit alternate file N (equivalent to ":e #N").
- |gf| gf or ]f Edit the file whose name is under the cursor
- |:pwd| :pwd Print the current directory name.
- |:cd| :cd [path] Change the current directory to [path].
- |:cd-| :cd - Back to previous current directory.
- |:file| :f[ile] Print the current file name and the cursor
- position.
- |:file| :f[ile] {name} Set the current file name to {name}.
- |:files| :files Show alternate file names.
- ------------------------------------------------------------------------------
- *Q_fl* Using the argument list |argument-list|
-
- |:args| :ar[gs] Print the argument list, with the current file
- in "[]".
- |:all| :all or :sall Open a window for every file in the arg list.
- |:wn| :wn[ext][!] Write file and edit next file.
- |:wn| :wn[ext][!] {file} Write to {file} and edit next file, unless
- {file} exists. With !, overwrite existing
- file.
- |:wN| :wN[ext][!] [file] Write file and edit previous file.
-
- in current window in new window ~
- |:argument| :argu[ment] N :sar[gument] N Edit file N
- |:next| :n[ext] :sn[ext] Edit next file
- |:next_f| :n[ext] {arglist} :sn[ext] {arglist} define new arg list
- and edit first file
- |:Next| :N[ext] :sN[ext] Edit previous file
- |:first| :fir[st] :sfir[st] Edit first file
- |:last| :la[st] :sla[st] Edit last file
- ------------------------------------------------------------------------------
- *Q_wq* Writing and quitting
-
- |:w| :[range]w[rite][!] Write to the current file.
- |:w_f| :[range]w[rite] {file} Write to {file}, unless it already
- exists.
- |:w_f| :[range]w[rite]! {file} Write to {file}. Overwrite an existing
- file.
- |:w_a| :[range]w[rite][!] >> Append to the current file.
- |:w_a| :[range]w[rite][!] >> {file} Append to {file}.
- |:w_c| :[range]w[rite] !{cmd} Execute {cmd} with [range] lines as
- standard input.
- |:up| :[range]up[date][!] write to current file if modified
- |:wall| :wall[!] write all changed buffers
-
- |:q| :q[uit] Quit current buffer, unless changes have been
- made. Exit Vim when there are no other
- non-help buffers
- |:q| :q[uit]! Quit current buffer always, discard any
- changes. Exit Vim when there are no other
- non-help buffers
- |:qa| :qall Exit Vim, unless changes have been made.
- |:qa| :qall! Exit Vim always, discard any changes.
- |:cq| :cq Quit without writing and return error code.
-
- |:wq| :wq[!] Write the current file and exit.
- |:wq| :wq[!] {file} Write to {file} and exit.
- |:xit| :x[it][!] [file] Like ":wq" but write only when changes have
- been made
- |ZZ| ZZ Same as ":x".
- |ZQ| ZQ Same as ":q!".
- |:xall| :xall[!] or :wqall[!]
- Write all changed buffers and exit
-
- |:stop| :st[op][!] Suspend VIM or start new shell. If 'aw' option
- is set and [!] not given write the buffer.
- |CTRL-Z| CTRL-Z Same as ":stop"
- ------------------------------------------------------------------------------
- *Q_st* Starting VIM
-
- |-vim| vim [options] start editing with an empty buffer
- |-file| vim [options] {file} .. start editing one or more files
- |--| vim [options] - read file from stdin
- |-tag| vim [options] -t {tag} edit the file associated with {tag}
- |-qf| vim [options] -q [fname] start editing in QuickFix mode,
- display the first error
-
- Vim arguments:
-
- |-gui| -g start GUI (also allows other options)
-
- |-+| +[num] put the cursor at line [num] (default: last line)
- |-+c| +{command} execute {command} after loading the file
- |-+/| +/{pat} {file} .. put the cursor at the first occurrence of {pat}
- |-v| -v Vi mode, start ex in Normal mode
- |-e| -e Ex mode, start vim in Ex mode
- |-R| -R Read-only mode, implies -n
- |-m| -m modifications not allowed (resets 'write' option)
- |-b| -b binary mode
- |-l| -l lisp mode
- |-F| -F Farsi mode ('fkmap' and 'rightleft' are set)
- |-H| -H Hebrew mode ('hkmap' and 'rightleft' are set)
- |-V| -V Verbose, give informative messages
- |-C| -C Compatible, set the 'compatible' option
- |-N| -N Nocompatible, reset the 'compatible' option
- |-r| -r give list of swap files
- |-r| -r {file} .. recover aborted edit session
- |-n| -n do not create a swap file
- |-o| -o [num] open [num] windows (default: one for each file)
- |-f| -f GUI: foreground process, don't fork
- Amiga: do not restart VIM to open a window (for
- e.g., mail)
- |-s| -s {scriptin} first read commands from the file {scriptin}
- |-w| -w {scriptout} write typed chars to file {scriptout} (append)
- |-W| -W {scriptout} write typed chars to file {scriptout} (overwrite)
- |-T| -T {terminal} set terminal name
- |-d| -d {device} Amiga: open {device} to be used as a console
- |-u| -u {vimrc} read inits from {vimrc} instead of other inits
- |-U| -U {gvimrc} idem, for when starting the GUI
- |-i| -i {viminfo} read info from {viminfo} instead of other files
- |---| -- end of options, other arguments are file names
- |--help| --help show list of arguments and exit
- |--version| --version show version info and exit
- |--| - Read file from stdin.
- ------------------------------------------------------------------------------
- *Q_ac* Automatic Commands
-
- |viminfo-file| Read registers, marks, history at startup, save when exiting.
-
- |:rviminfo| :rv[iminfo] [file] Read info from viminfo file [file]
- |:rviminfo| :rv[iminfo]! [file] idem, overwrite existing info
- |:wviminfo| :wv[iminfo] [file] Add info to viminfo file [file]
- |:wviminfo| :wv[iminfo]! [file] Write info to viminfo file [file]
-
- |modeline| Automatic option setting when editing a file
-
- |modeline| vim:{set-arg}: .. In the first and last lines of the
- file (see 'ml' option), {set-arg} is
- given as an argument to ":set"
-
- |autocommand| Automatic execution of commands on certain events.
-
- |:autocmd| :au List all autocommands
- |:autocmd| :au {event} List all autocommands for {event}
- |:autocmd| :au {event} {pat} List all autocommands for {event} with
- {pat}
- |:autocmd| :au {event} {pat} {cmd} Enter new autocommands for {event}
- with {pat}
- |:autocmd| :au! Remove all autocommands
- |:autocmd| :au! {event} Remove all autocommands for {event}
- |:autocmd| :au! * {pat} Remove all autocommands for {pat}
- |:autocmd| :au! {event} {pat} Remove all autocommands for {event}
- with {pat}
- |:autocmd| :au! {event} {pat} {cmd} Remove all autocommands for {event}
- with {pat} and enter new one
- ------------------------------------------------------------------------------
- *Q_wi* Multi-window commands
-
- |CTRL-W_s| CTRL-W s or :split Split window into two parts
- |:split_f| :split {file} Split window and edit {file} in one of
- them
- |:sfind| :sf[ind] {file} Split window, find {file} in 'path'
- and edit it.
- |CTRL-W_]| CTRL-W ] Split window and jump to tag under
- cursor
- |CTRL-W_f| CTRL-W f Split window and edit file name under
- the cursor
- |CTRL-W_CTRL-^| CTRL-W CTRL-^ Split window and edit alternate file
- |CTRL-W_n| CTRL-W n or :new Create new empty window
- |CTRL-W_q| CTRL-W q or :q[uit] Quit editing and close window
- |CTRL-W_c| CTRL-W c or :cl[ose] Make buffer hidden and close window
- |CTRL-W_o| CTRL-W o or :on[ly] Make current window only one on the
- screen
-
- |CTRL-W_j| CTRL-W j Move cursor to window below
- |CTRL-W_k| CTRL-W k Move cursor to window above
- |CTRL-W_CTRL-W| CTRL-W CTRL-W Move cursor to window below (wrap)
- |CTRL-W_W| CTRL-W W Move cursor to window above (wrap)
- |CTRL-W_t| CTRL-W t Move cursor to top window
- |CTRL-W_b| CTRL-W b Move cursor to bottom window
- |CTRL-W_p| CTRL-W p Move cursor to previous active window
-
- |CTRL-W_r| CTRL-W r Rotate windows downwards
- |CTRL-W_R| CTRL-W R Rotate windows upwards
- |CTRL-W_x| CTRL-W x Exchange current window with next one
-
- |CTRL-W_=| CTRL-W = Make all windows equal height
- |CTRL-W_-| CTRL-W - Decrease current window height
- |CTRL-W_+| CTRL-W + Increase current window height
- |CTRL-W__| CTRL-W _ Set current window height (default:
- very high)
- ------------------------------------------------------------------------------
- *Q_bu* Buffer list commands
-
- |:buffers| :buffers or :files list all known buffer and file names
-
- |:ball| :ball or :sball edit all args/buffers
- |:unhide| :unhide or :sunhide edit all loaded buffers
-
- |:badd| :badd {fname} add file name {fname} to the list
- |:bunload| :bunload[!] [N] unload buffer [N] from memory
- |:bdelete| :bdelete[!] [N] unload buffer [N] and delete it from
- the buffer list
-
- in current window in new window ~
- |:buffer| :[N]buffer [N] :[N]sbuffer [N] to arg/buf N
- |:bnext| :[N]bnext [N] :[N]sbnext [N] to Nth next arg/buf
- |:bNext| :[N]bNext [N] :[N]sbNext [N] to Nth previous arg/buf
- |:bprevious| :[N]bprevious [N] :[N]sbprevious [N] to Nth previous arg/buf
- |:bfirst| :bfirst :sbfirst to first arg/buf
- |:blast| :blast :sblast to last arg/buf
- |:bmodified| :[N]bmod [N] :[N]sbmod [N] to Nth modified buf
- ------------------------------------------------------------------------------
- *Q_sy* Syntax Highlighting
-
- |:syn-on| :syntax on start using syntax highlighting
- |:syn-off| :syntax off stop using syntax highlighting
-
- |:syn-keyword| :syntax keyword {group-name} {keyword} ..
- add a syntax keyword item
- |:syn-match| :syntax match {group-name} {pattern} ...
- add syntax match item
- |:syn-region| :syntax region {group-name} {pattern} ...
- add syntax region item
- |:syn-sync| :syntax sync [ccomment | lines {N} | ...]
- tell syntax how to sync
- |:syntax| :syntax [list] list current syntax items
- |:syn-clear| :syntax clear clear all syntax info
-
- |:highlight| :highlight clear clear all highlight info
- |:highlight| :highlight {group-name} {key}={arg} ..
- set highlighting for {group-name}
-
- |:filetype| :filetype on switch on file type detection, without
- syntax highlighting
- |:filetype| :filetype plugin indent on
- switch on file type detection, with
- automatic indenting and settings
- ------------------------------------------------------------------------------
- *Q_gu* GUI commands
-
- |:gui| :gui UNIX: start the GUI
- |:gui| :gui {fname} .. idem, and edit {fname} ..
-
- |:menu| :menu list all menus
- |:menu| :menu {mpath} list menus starting with {mpath}
- |:menu| :menu {mpath} {rhs} add menu {mpath}, giving {lhs}
- |:menu| :menu {pri} {mpath} {rhs}
- idem, with priorities {pri}
- |:menu| :menu ToolBar.{name} {rhs}
- add toolbar item, giving {lhs}
- |:tmenu| :tmenu {mpath} {text} add tooltip to menu {mpath}
- |:unmenu| :unmenu {mpath} remove menu {mpath}
-
- ------------------------------------------------------------------------------
- *Q_fo* Folding
-
- |'foldmethod'| set foldmethod=manual manual folding
- set foldmethod=indent folding by indent
- set foldmethod=expr folding by 'foldexpr'
- set foldmethod=syntax folding by syntax regions
- set foldmethod=marker folding by 'foldmarkers'
-
- |zf| {motion}zf operator: Define a fold manually
- |:fold| :{range}fold define a fold for {range} lines
- |zd| zd delete one fold under the cursor
- |zD| zD delete all folds under the cursor
-
- |zo| zo open one fold under the cursor
- |zO| zO open all folds under the cursor
- |zc| zc close one fold under the cursor
- |zC| zC close all folds under the cursor
-
- |zm| zm fold more: decrease 'foldlevel'
- |zM| zM close all folds: make 'foldlevel' zero
- |zr| zr reduce folding: increase 'foldlevel'
- |zR| zR open all folds: make 'foldlevel' max.
-
- |zn| zn fold none: reset 'foldenable'
- |zN| zN fold normal set 'foldenable'
- |zi| zi invert 'foldenable'
-
- vim:tw=78:ts=8:ft=help:norl:
-